Custom frontend hooks let you modify the autocomplete menu and search results page in the Algolia app for Shopify.
window.algoliaShopify.hooks.allowedHooks
into the developer tools’ console of your browser.
algolia_custom_hooks
.
theme.liquid
file.
theme.liquid
file and add the following just before the </body>
tag.
Replace NEW_FILE
with the filename of the JavaScript file with your custom hook:
algolia.hooks.initialize
event,
and call the algoliaShopify.hooks.registerHook
function.
For example:
Hook name ends with | Expected return type |
---|---|
Options | Object |
Template | tagged template literal |
Array | Array of strings or objects |
String | String |
Number | Number |
Action | Function |
beforeAutocompleteOptions
beforeAutocompleteFiltersString
beforeAutocompleteRedirectUrlOptions
beforeAutocompleteMainTemplate
beforeAutocompleteMainProductsTemplate
beforeAutocompleteNoResultsTemplate
beforeAutocompleteHeaderTemplate
beforeAutocompleteFooterTemplate
beforeAutocompleteProductTemplate
beforeAutocompleteArticlesTemplate
beforeAutocompleteCollectionsTemplate
beforeAutocompletePagesTemplate
beforeAutocompleteSuggestionsTemplate
beforeAutocompleteProductTransformResponseHits
afterAutocompleteProductClickAction
beforeAutocompleteOptions
beforeAutocompleteFiltersString
beforeAutocompleteRedirectUrlOptions
createRedirectUrlPlugin
function.
Example:
beforeAutocompleteMainTemplate
elements
object has the following properties:
querySuggestionsPlugin
collections
articles
pages
redirectUrlPlugin
products
beforeAutocompleteMainProductsTemplate
beforeAutocompleteNoResultsTemplate
beforeAutocompleteHeaderTemplate
beforeAutocompleteFooterTemplate
beforeAutocompleteProductTemplate
beforeAutocompleteArticlesTemplate
beforeAutocompleteCollectionsTemplate
beforeAutocompletePagesTemplate
beforeAutocompleteSuggestionsTemplate
beforeAutocompleteProductTransformResponseHits
hits
before rendering them in the autocomplete menu.
For more information, see transformresponse
.
Example:
afterAutocompleteProductClickAction
beforeInstantSearchConfigurationOptions
beforeInstantSearchOptions
beforeInstantSearchAllowParamsArray
beforeInstantSearchFiltersString
beforeInstantSearchMainTemplate
beforeInstantSearchProductTemplate
beforeInstantSearchNoResultTemplate
beforeInstantSearchFacetItemTemplate
beforeInstantSearchShowMoreTemplate
beforeInstantSearchStatsTemplate
beforeISTransformItems
beforeISStartAddWidgetArray
afterISStartRemoveDefaultWidget
afterInstantSearchHitClickAction
beforeInstantSearchFacetLimitNumber
beforeISFacetSearchablePlaceholderString
beforeISFacetSearchableNoResultsString
beforeInstantSearchFacetHeaderString
beforeInstantSearchFacetTransformItemsOptions
beforeISearchInitSortOrdersArray
beforeISInitCollectionSortOrdersArray
beforeInstantSearchConfigurationOptions
beforeInstantSearchOptions
colors
distinct
facets
hitsPerPage
selector
sortOrders
beforeInstantSearchAllowParamsArray
beforeInstantSearchFiltersString
beforeInstantSearchMainTemplate
beforeInstantSearchProductTemplate
beforeInstantSearchNoResultTemplate
beforeInstantSearchFacetItemTemplate
beforeInstantSearchShowMoreTemplate
beforeInstantSearchStatsTemplate
beforeISTransformItems
beforeISStartAddWidgetArray
afterISStartRemoveDefaultWidget
widget.widgetType
):
ais.sortBy
ais.searchBox
ais.stats
ais.hits
ais.pagination
afterInstantSearchHitClickAction
beforeInstantSearchFacetLimitNumber
beforeISFacetSearchablePlaceholderString
beforeISFacetSearchableNoResultsString
beforeInstantSearchFacetHeaderString
beforeInstantSearchFacetTransformItemsOptions
beforeISearchInitSortOrdersArray
beforeISInitCollectionSortOrdersArray
beforeRecommendHitTemplate
beforeAlgoliaAnalyticsOptions
beforeAddToCartSelectorString